package com.lifeverse.dto;

import com.lifeverse.entity.LifeEntityGroup;
import jakarta.validation.constraints.*;
import lombok.Data;

import java.util.List;

/**
 * 创建生命体群体的数据传输对象
 */
@Data
public class LifeEntityGroupCreateDTO {
    
    @NotBlank(message = "群体名称不能为空")
    @Size(max = 100, message = "群体名称长度不能超过100字符")
    private String groupName;
    
    @NotNull(message = "群体类型不能为空")
    private LifeEntityGroup.GroupType groupType;
    
    @Size(max = 500, message = "描述长度不能超过500字符")
    private String description;
    
    private List<Long> memberIds;
    
    private Long leaderId;
    
    private String objectives;
    
    private String rules;
    
    private String culture;
    
    @Size(max = 200, message = "标签长度不能超过200字符")
    private String tags;
    
    private String attributes;
    
    private Boolean isPublic = true;
    
    private Boolean allowFreeJoin = false;
    
    @Min(value = 1, message = "最大成员数量不能小于1")
    private Integer maxMembers;
    
    @Min(value = 2, message = "最小成员数量不能小于2")
    private Integer minMembers = 2;
}